#ifndef Scheduler_
#define Scheduler_

#include <stdlib.h>
#include <stdio.h>
#include "globals.h"
#include "pcb.h"

typedef struct queue {
        int size;
        PCBStr *head;
        PCBStr *tail;
} pcb_queue;


pcb_queue *ready_queue;

int check_process_done(int timer);
int add_process_to_readyqeueue(ProcessStr *a_process);
pcb_queue* create_ready_queue();
void set_up_scheduler();
void get_next_process_running();
void scheduler_start();
void add_pcb_ready_queue(PCBStr *pcb);
PCBStr *ready_queue_process_remove();


#include "scheduler.c"

#endif
